package com.taotao.service.impl;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.taotao.common.pojo.EasyUITreeNode;
import com.taotao.mapper.TbItemCatMapper;
import com.taotao.pojo.TbItemCat;
import com.taotao.pojo.TbItemCatExample;
import com.taotao.pojo.TbItemCatExample.Criteria;
import com.taotao.service.ItemCatService;
/**
 * 根据父节点id查询子节点service
 * @author Administrator
 *
 */
@Service
public class ItemCatServiceImpl implements ItemCatService {

	@Autowired
	private TbItemCatMapper itemCatMapper;
	
	//查询树形列表     根据父节点id查询子节点
	@Override
	public List<EasyUITreeNode> getNodeList(Long parentId) {
		//构造查询条件对象
		TbItemCatExample example = new TbItemCatExample();
		//创建查询对象
		Criteria criteria = example.createCriteria();
		//添加条件   父节点是某个值的方法
		criteria.andParentIdEqualTo(parentId);
		// 根据父节点id查询子节点
		List<TbItemCat> list = itemCatMapper.selectByExample(example);
		//创建List<EasyUITreeNode>对象
		List<EasyUITreeNode> nodeList = new ArrayList<>();
		//遍历  将list中封装的pojo类中的数据封装到List<EasyUITreeNode>中
		for (TbItemCat tbItemCat : list) {
			EasyUITreeNode node = new EasyUITreeNode();
			node.setId(tbItemCat.getId());
			node.setText(tbItemCat.getName());
			//判断该节点是否为父节点  如果是   state 为closed  否则为open 
			node.setState(tbItemCat.getIsParent()?"closed":"open");
			
			//添加到nodelist
			nodeList.add(node);
		}
		
		return nodeList;
	}

}
